package com.thesis.manage.service;

import com.thesis.manage.common.mongodb.MongoService;
import com.thesis.manage.domain.Grade;
import com.thesis.manage.domain.Teacher;
import com.thesis.manage.service.module.vo.GradeVO;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author php
 * @date 2018/4/5
 */
public interface GradeService extends MongoService<Grade> {
    /**
     * 添加成绩
     *
     * @param teacher     操作员
     * @param studentId   学生号
     * @param reviewGrade 评阅成绩
     * @param answerGrade 答辩成绩
     */
    void addGrade(Teacher teacher, String studentId, Double reviewGrade, Double answerGrade);

    /**
     * 查询成绩
     *
     * @param studentNumber 学生id
     * @return grade
     */
    Grade findByStudentId(String studentNumber);

    /**
     * 导入成绩信息
     *
     * @param teacher 教师
     * @param file    文件
     */
    void importGradeInfo(Teacher teacher, MultipartFile file);

    /**
     * 查找自己成绩
     *
     * @param studentNumber 学生号
     * @return gradeVo
     */
    GradeVO findGradeByStudentId(String studentNumber);

    /**
     * 教师给学生添加成绩
     *
     * @param studentId    学生id
     * @param teacherGrade 教师成绩
     * @param message      评阅消息
     */
    void addGradeByTeacher(Long studentId, Double teacherGrade, String message);
}
